/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package model;

import java.util.logging.Level;
import java.util.logging.Logger;
import model.DAO.UsuarioDAO;
import org.apache.commons.mail.EmailException;

/**
 *
 * @author Rodrigo
 */
public class Usuario {
    
    private String login;
    private String senha;
    private String email;
    private String erro;
    private boolean novo;
    private String estado;
    private int ouro;
    private int id;

    public int getOuro() {
        return ouro;
    }

    public void setOuro(int ouro) {
        this.ouro = ouro;
    }

    public String getEstado() {
        return estado;
    }

    public void setEstado(String estado) {
        this.estado = estado;
    }

    public boolean isNovo() {
        return novo;
    }

    public void setNovo(boolean novo) {
        this.novo = novo;
    }

    public String getErro() {
        return erro;
    }

    public void setErro(String erro) {
        this.erro = erro;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public int getId(){
    	return id;
    }
    
    public void setId(int id){
    	this.id = id;
    }

    public String getLogin() {
        return login;
    }

    public void setLogin(String login) {
        this.login = login;
    }

    public String getSenha() {
        return senha;
    }

    public void setSenha(String senha) {
        this.senha = senha;
    }
    
    public boolean validarUsuario(){
        UsuarioDAO userDAO = new UsuarioDAO();
        return userDAO.validarLogin(this);
    }
    
    public boolean cadastrarUsuario(){
        UsuarioDAO userDAO = new UsuarioDAO();
        return userDAO.cadastraUsuario(this);
    }
    
    public void cadastraEstado(Estado estado){
        UsuarioDAO userDAO = new UsuarioDAO();
        userDAO.cadastradoEstado(this, estado);
    }
    
    public boolean recuperarSenha(){
        UsuarioDAO userDAO = new UsuarioDAO();
       
        if(userDAO.recuperarSenha(this)){
            try {
                Email email = new Email();
                email.enviaEmailSimples(this);
                
                return true;
            } catch (EmailException ex) {
                Logger.getLogger(Usuario.class.getName()).log(Level.SEVERE, null, ex);
                setErro("<font color = red> " + ex.getMessage() + " </font>");
                return false;
            }
        } else {
            return false;
        }
    }
}
